package br.com.condominio.entity;


import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;


@Entity
public class Usuario implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private String useLogin;
	private Pessoa pessoa;
	private String useSenha;

	public Usuario() {
	}

	public Usuario(String useLogin, Pessoa pessoa, String useSenha) {
		this.useLogin = useLogin;
		this.pessoa = pessoa;
		this.useSenha = useSenha;
	}

	@Id
	@Column(name = "use_login", unique = true, nullable = false, length = 20)
	public String getUseLogin() {
		return this.useLogin;
	}

	public void setUseLogin(String useLogin) {
		this.useLogin = useLogin;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "pesso_codigo", nullable = false)
	public Pessoa getPessoa() {
		return this.pessoa;
	}

	public void setPessoa(Pessoa pessoa) {
		this.pessoa = pessoa;
	}

	@Column(name = "use_senha", nullable = false, length = 20)
	public String getUseSenha() {
		return this.useSenha;
	}

	public void setUseSenha(String useSenha) {
		this.useSenha = useSenha;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((useLogin == null) ? 0 : useLogin.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Usuario other = (Usuario) obj;
		if (useLogin == null) {
			if (other.useLogin != null)
				return false;
		} else if (!useLogin.equalsIgnoreCase(other.useLogin))
			return false;
		return true;
	}

	@Override
	public String toString() {
		return "Usuario [useLogin=" + useLogin + ", pessoa=" + pessoa
				+ ", useSenha=" + useSenha + "]";
	}
	
	

}
